<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="./resource/js/jquery-2.0.3.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>

<input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia()" />
<video id="video" width="500px" height="500px" autoplay="autoplay"></video>


<canvas id="canvas" width="500px" height="500px"></canvas>


<input type="button" value="拍照" id="snap" onclick="takePhoto()"/>

<script>
    //获得video摄像头区域
    let video = document.getElementById("video");
    function getMedia() {
        let constraints = {
            video: {width: 500, height: 500},
            audio: true
        };
        /*
        这里介绍新的方法:H5新媒体接口 navigator.mediaDevices.getUserMedia()
        这个方法会提示用户是否允许媒体输入,(媒体输入主要包括相机,视频采集设备,屏幕共享服务,麦克风,A/D转换器等)
        返回的是一个Promise对象。
        如果用户同意使用权限,则会将 MediaStream对象作为resolve()的参数传给then()
        如果用户拒绝使用权限,或者请求的媒体资源不可用,则会将 PermissionDeniedError作为reject()的参数传给catch()
        */
        let promise = navigator.mediaDevices.getUserMedia(constraints);
        promise.then(function (MediaStream) {
            video.srcObject = MediaStream;
            video.play();
        }).catch(function (PermissionDeniedError) {
            console.log(PermissionDeniedError);
        })
    }
	
    //进行拍照
    function takePhoto() {
        //获得Canvas对象
        let canvas = document.getElementById("canvas");
        let ctx = canvas.getContext('2d');
        ctx.drawImage(video, 0, 0, 500, 500);
		
        
       //得到图片的base64格式
        var base64 = canvas.toDataURL();
        
       // location.href="FaceServlet?data="+base64;
        console.log(base64)
        //创建json数据格式
        
        //异步传递到servlet
        
        
        $.ajax({
            url:"AttendanceServlet?op=FaceLogin",    //请求的url地址
            dataType:"json",   //返回格式为json
            async:true,//请求是否异步，默认为异步，这也是ajax重要特性
            // contentType:"application/json",
            data: {"imagebast64": base64} , //参数值,为key:value形式
            type: "POST", //请求方式
        	success:function(data){
            console.log(data);
        	}	      		
        })

    }
</script>
</body>
</html>